layui.define([ 'form', 'laydate', 'table' ], function(exports) {
    var form = layui.form;
    var laydate = layui.laydate;
    var table = layui.table;
    var meetRecordTable = null;
    var view ={
        init:function(){
            this.initTable();
            this.initSearchForm();
            this.initToolBar();
            window.dataReload = function(){
                Lib.doSearchForm($("#searchForm"),meetRecordTable)
            }
        },
        initTable:function(){
            var data = $("#searchForm").serializeJson();
            meetRecordTable = table.render({
                elem : '#meetRecordTable',
                height : Lib.getTableHeight(0),
                cellMinWidth: 100,
                method : 'post',
                where: data,
                url : Common.ctxPath + '/meet/meetRecord/list.json' // 数据接口
                ,page : Lib.tablePage // 开启分页
                ,limit : 10,
                cols : [ [ // 表头
                    {
                        type : 'checkbox',
                        fixed:'left',
                    },
                    {
                        field : 'meetTitle',
                        title : '预约主题',
                    },
                    {
                        field : 'customerName',
                        title : '预约家长',
                        width: 140,
                    },
                    {
                        field : 'phone',
                        title : '预约手机',
                        width: 140,
                    },
                    {
                        field : 'teacherName',
                        title : '服务老师',
                        width: 140,
                    },
                    {
                        field : 'meetPrice',
                        title : '服务费用',
                        width: 100,
                        templet: '<div>{{d.meetPrice/100}}</div>'
                    },
                    {
                        field : 'payStatus',
                        title : '支付状态',
                        width: 90,
                        templet: '<div>{{d.payStatus==0?"待支付":"已支付"}}</div>'
                    },
                    {
                        field : 'meetNo',
                        title : '预约编号',
                        width: 200,
                    },

                    {

                        field : 'payTime',
                        title : '支付时间',
                        width: 170,
                    },
                    {
                        field : 'serviceStatus',
                        title : '服务状态',
                        width: 90,
                        templet: function (d) {
                            if(d.payStatus==1){
                                if(d.serviceStatus==0){
                                    return "待预约"
                                }else  if(d.serviceStatus==1){
                                    return "进行中"
                                }else  if(d.serviceStatus==2){
                                    return "已完成"
                                }else  if(d.serviceStatus==3){
                                    return "已取消"
                                }
                            }
                            return ""
                        }
                    },
                    {
                        field : 'createdTime',
                        title : '创建时间',
                        width: 170,
                    },
                    {
                        field : 'updatedTime',
                        title : '更新时间',
                        width: 170,
                    }

        ] ]

        });
            table.on('sort(meetRecordTable)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                console.log(obj.field); //当前排序的字段名
                console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
                console.log(this); //当前排序的 th 对象

                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('meetRecordTable', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    ,where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        ,order: obj.type //排序方式
                    }
                });
            });
            table.on('checkbox(meetRecordTable)', function(obj){
                var meetRecord = obj.data;
                if(obj.checked){
                    //按钮逻辑Lib.buttonEnable()
                }else{

                }
            })
        },

        initSearchForm:function(){
            Lib.initSearchForm( $("#searchForm"),meetRecordTable,form);
        },
        initToolBar:function(){
            toolbar = {
                add : function() { // 获取选中数据
                    var url = "/meet/meetRecord/add.do";
                    Common.openDlg(url,"MeetRecord管理>新增");
                },
                edit : function() { // 获取选中数目
                    var data = Common.getOneFromTable(table,"meetRecordTable");
                    if(data==null){
                        return ;
                    }
                    var url = "/meet/meetRecord/edit.do?meetId="+data.meetId;
                    Common.openDlg(url,"MeetRecord管理>"+data.meetId+">编辑");
                },
                del : function() {
                    layui.use(['del'], function(){
                        var delView = layui.del;
                        delView.delBatch();
                    });
                },
                assign : function () {
                    var data = Common.getOneFromTable(table,"meetRecordTable");
                    if(data==null){
                        return ;
                    }
                    if (data.payStatus!=1) {
                        Common.info("该订单不是已支付状态，不能分配。");
                        return;
                    }
                    if (data.serviceStatus!=0) {
                        Common.info("不是待预约状态，不能分配。");
                        return;
                    }
                    var url = "/meet/meetRecord/assign.do?meetId="+data.meetId;
                    Common.openDlg(url,"分配老师");
                    // Common.postHtml("/meet/meetRecord/assign.do",{meetId:data.meetId},function(rsp){
                    //     layer.open({
                    //         type:0,
                    //         title:"分配老师",
                    //         content:rsp,
                    //         area: "477px",
                    //         btn:["确定","取消"],
                    //         yes:function(index, layero) {
                    //             assignTeacher();
                    //         },
                    //         btn2:function(index, layero) {
                    //             layer.close(index);
                    //         }
                    //     });
                    // });
                },
                service : function () {
                    var data = Common.getOneFromTable(table,"meetRecordTable");
                    if(data==null){
                        return ;
                    }
                    if (data.payStatus!=1) {
                        Common.info("该订单不是已支付状态，不能分配。");
                        return;
                    }
                    if (data.serviceStatus!=1) {
                        Common.info("不是进行中的订单不能填写服务内容。");
                        return;
                    }
                    var url = "/meet/meetRecord/service.do?meetId="+data.meetId;
                    Common.openDlg(url,"填写服务内容");
                    // Common.postHtml("/meet/meetRecord/assign.do",{meetId:data.meetId},function(rsp){
                    //     layer.open({
                    //         type:0,
                    //         title:"分配老师",
                    //         content:rsp,
                    //         area: "477px",
                    //         btn:["确定","取消"],
                    //         yes:function(index, layero) {
                    //             assignTeacher();
                    //         },
                    //         btn2:function(index, layero) {
                    //             layer.close(index);
                    //         }
                    //     });
                    // });
                }
        };
            $('.ext-toolbar').on('click', function() {
                var type = $(this).data('type');
                toolbar[type] ? toolbar[type].call(this) : '';
            });
        }
    }
    exports('index',view);

});
